A data processing apparatus may have a number of caches and a central controller may be provided for controlling the caches. For example the controller may manage coherency between the caches, or may handle requests from the caches for data to be fetched from a memory for example.